// const path = require("path");

// const p1 = path.resolve("/"); // 绝对路径，用此方法的时候不能有 /
// const p2 = path.join("a", "//b"); // 只是拼接
// const p3 = path.dirname(__filename); // -> __dirname  __filename

// commonjs 规范 外层加一个函数 (function(){})(....)
// esmModule

// console.log(p3);

// console.log(__dirname, __filename);
import path from "path";

// 当前文件路径
const __dirname = import.meta.dirname;
const __filename = import.meta.filename;
console.log(import.meta.url); // 文件本地路径

console.log(__dirname, __filename);

// import json from "./my.json" with { type: 'json' };  //  会出现警告
// 通过fs读取,自己Json.parse
// console.log(json);

import { createRequire } from "module";
const require = createRequire(import.meta.url); // 返回给我们commonjs的require方法

console.log(require("./my.json"));

// 如果你采用了 esmModule 要注意 函数中的五个全局变量 （require,exports,__filename,__dirname,module）都不存在了

// 需要自己构建，引入json的时候和以前有区别，其他用法同 esModule 使用的

console.log(path.delimiter, path.win32.delimiter, process.platform); // 环境变量分隔符
console.log(path.extname("a.min.js"));
console.log(path.relative("a/b/c", "./c"));

// join  resolve
